import { GameContext } from "@sapi-game/gameContext";
import { PlayerGroup } from "@sapi-game/gamePlayer/playerGroup";
import { HideAndSeekPlayer } from "./player";
import { HideAndSeekMode } from "./modes";
import { KcpdMap } from "@/kcpd/maps";

export interface HideAndSeekConfig {
    time: number;
    map: KcpdMap;
    mode: HideAndSeekMode;
}

export class HideAndSeekContext extends GameContext {
    readonly config: HideAndSeekConfig;
    readonly players: PlayerGroup<HideAndSeekPlayer>;

    get map() {
        return this.config.map;
    }

    get mode() {
        return this.config.mode;
    }

    constructor(
        config: HideAndSeekConfig,
        players: PlayerGroup<HideAndSeekPlayer>
    ) {
        super();
        this.config = config;
        this.players = players;
    }
}
